package com.cat.recruit.common.exception;

import lombok.Getter;

/**
 * @author cat
 *
 * 业务异常枚举类
 */
@Getter
public enum BusinessExceptionEnum {

    SUCCESS(200, "成功"),
    BAD_REQUEST(400, "请求错误"),
    UNAUTHORIZED(401, "未授权"),
    FORBIDDEN(403, "禁止访问"),
    NOT_FOUND(404, "未找到"),
    INTERNAL_SERVER_ERROR(500, "服务器内部错误"),


    // 业务异常
    UNKNOWN(10000, "未知异常"),
    // 用户不存在
    USER_NOT_EXIST(10001, "用户不存在"),
    // 数据不能为空
    DATA_NOT_NULL(10002, "数据不能为空"),
    // 插入数据失败（insert返回值为0）
    INSERT_FAILED(10003, "插入数据失败"),
    PASSWORD_ERROR(10002, "密码错误"),
    ACCESS_TYPE_NOT_EXIST(10003,"考核类型不存在" ),
    DIRECTION_NOT_EXIST(10004,"考核方向不存在" ),
    PARAM_FORMAT_ERROR(10005,"参数格式错误"),
    //  更新数据失败
    UPDATE_FAILED(10006, "更新数据失败"),
    // 预约人数超限
    APPOINTMENT_FULL(10007,"预约人数超限"),
    // 微信登录凭证无效
    CODE_INVALID(10010, "微信登录凭证无效"),
    // 考核数据不存在
    ASSESS_DATA_NOT_EXIST(10011, "考核数据不存在"),
    // 用户已预约过
    ALREADY_BOOKED(10012,"用户已预约过"),
    APPOINTMENT_SLOT_NOT_EXIST(10013,"预约时间段不存在" ),
    USER_STATUS_NOT_EXIST(10014, "用户状态不存在"),
    APPOINTMENT_NOT_EXIST(10015,"预约不存在或用户未预约" );


    // 错误码
    private final Integer code;
    // 错误信息
    private final String message;

    BusinessExceptionEnum(Integer code, String message) {
        this.code = code;
        this.message = message;
    }

}
